(deftemplate intrebare
	(slot stringIntrebare)
	(slot raspuns)
)
(deftemplate degustareVin
	(multislot meniu)
	(slot vin)
    
)
(assert (intrebare (stringIntrebare nil)(raspuns nil)))
(printout t  crlf "     Feluri de mancare " crlf  )

(assert (degustareVin (meniu Antreuri)(vin nil)))
(assert (degustareVin (meniu Legume)(vin nil)))
(assert (degustareVin (meniu Mezeluri)(vin nil)))
(assert (degustareVin (meniu Fructe_de_mare)(vin nil)))
(assert (degustareVin (meniu Peste_si_crustacee)(vin nil)))
(assert (degustareVin (meniu Carne_rosie)(vin nil)))
(assert (degustareVin (meniu Carne_alba)(vin nil)))
(assert (degustareVin (meniu Carne_de_vanat)(vin nil)))
(assert (degustareVin (meniu Carne_de_vanat_cu_sos_de_fructe_negre)(vin nil)))
(assert (degustareVin (meniu Carne_de_vanat_cu_pene)(vin nil)))
(assert (degustareVin (meniu Branzeturi)(vin nil)))
(assert (degustareVin (meniu Gustari)(vin nil)))

(printout t "     1.  Antreuri" crlf)
(printout t "     2.  Legume" crlf)
(printout t "     3.  Mezeluri" crlf)
(printout t "     4.  Fructe de mare" crlf)
(printout t "     5.  Peste si crustacee" crlf)
(printout t "     6.  Carne rosie" crlf)
(printout t "     7.  Carne alba" crlf)
(printout t "     8.  Carne de vanat" crlf)
(printout t "     9.  Carne de vanat cu sos de fructe negre" crlf)
(printout t "     10. Carne de vanat cu pene" crlf)
(printout t "     11. Branzeturi" crlf)
(printout t "     12. Gustari" crlf crlf )


(defrule q1
	(intrebare (stringIntrebare nil)(raspuns nil))
	=>
	(printout t "Alegeti o mancare" crlf)
	(bind ?r (read))                                       
	(assert (intrebare (stringIntrebare "Alegeti o mancare")(raspuns ?r)))
)

(defrule q2
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 1))
	=>
	(printout t "Va recomandam un vin alb sec si lejer, dar cu prospetime accentuata.") 
)

(defrule q3
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 2))
	=>
	(printout t "Va recomandam un vin alb sec sau vin rosu lejer." crlf)
)
(defrule q4
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 3))
	=>
	(printout t "Va recomandam un vin roze, vin rosu lejer, proaspat, putin expresiv." crlf)
)
(defrule q5
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 4))
	=>
	(printout t "Va recomandam un vin alb sec, usor acid, de expresivitate medie." crlf)
)

(defrule q6
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 5))
	=>
	(printout t "Va recomandam un vin alb sec, fructat, cu un buchet amplu; pestelui cu sos i se potriveste chiar un vin demisec." crlf)
 )

(defrule q7
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 6))
	=>
	(printout t "Va recomandam un vin rosu, expresiv si plin." crlf)
 )
(defrule q8
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 7))
	=>
	(printout t "Va recomandam un vin rosu lejer, de expresivitate medie." crlf)
 )
(defrule q9
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 8))
	=>
	(printout t "Va recomandam un vin rosu foarte puternic si plin." crlf)
 )
 (defrule q10
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 9))
	=>
	(printout t "Va recomandam un vin rosu foarte puternic si plin." crlf)
 )
(defrule q11
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 10))
	=>
	(printout t "Va recomandam un vin rosu lejer; pentru vanat cu penaj alb si rosu mai taninos pentru vanat cu pene inchise." crlf)
 )
(defrule q12
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 11))
	=>
	(printout t "Va recomandam un vin alb sec." crlf)
 )
(defrule q13
	(intrebare (stringIntrebare "Alegeti o mancare")(raspuns 12))
	=>
	(printout t "Va recomandam un vin spumant, Champagne, vinuri dulci naturale." crlf)
 )

(run)
(facts)